package com.yangchuang.openpicture.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yangchuang.openpicture.pojo.Comment;
import java.util.List;

/**
 * 评论服务接口
 * 
 * @author naiyi
 * @since 2025-09-01
 */
public interface CommentService extends IService<Comment> {

    /**
     * 添加评论
     *
     * @param comment 评论信息
     * @return 添加后的评论
     */
    Comment addComment(Comment comment);

    /**
     * 获取图片的所有评论（包括嵌套回复）
     *
     * @param pictureId 图片ID
     * @return 评论列表
     */
    List<Comment> getCommentsByPictureId(Long pictureId);

    /**
     * 删除评论
     *
     * @param commentId 评论ID
     * @param userId    用户ID（用于验证权限）
     * @return 是否删除成功
     */
    boolean deleteComment(Long commentId, Long userId);

    /**
     * 点赞评论
     *
     * @param commentId 评论ID
     * @param userId    用户ID
     * @return 是否点赞成功
     */
    boolean likeComment(Long commentId, Long userId);

    /**
     * 取消点赞评论
     *
     * @param commentId 评论ID
     * @param userId    用户ID
     * @return 是否取消点赞成功
     */
    boolean unlikeComment(Long commentId, Long userId);
}
